home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Tools - Objects / MacApp / Unsupported Samples / CRC Cards / Source / UTextHandler.p < prev    next >
Encoding:
Text File  |  1990-07-11  |  5.2 KB  |  126 lines  |  [TEXT/MPS ]

  1. UNIT UTextHandler;
  2.  
  3. INTERFACE 
  4.  
  5. USES
  6.     UMacApp,
  7.     ToolUtils,
  8.     Resources,
  9.     Packages,
  10.     UPrinting,
  11.     UTEView,
  12.     UDialog,
  13.     UGridView,
  14.     UCRCCards,
  15.     UItem,
  16.     UCard,
  17.     UDesignDocument,
  18.     UMyViews,
  19.     UMyCommands;
  20.  
  21.  
  22. CONST
  23.     kInPascal = 1; {formerly kPascalStringOffset}
  24.     kInCPP = 2; {formerly kCPPStringOffset}
  25.     kNumberOfLanguages = 2;
  26.     kTypeTableWidth = kNumberOfLanguages + 2;
  27.     kTypeTableID = 1002;
  28.     kObjectMenuID = 1003;
  29.     kFieldsTypeOffset = kNumberOfLanguages + 1;
  30.     kByAddressOffset = kNumberOfLanguages + 2;
  31.     kTableEntryNotFound = MAXINT;
  32.  
  33.     
  34.     
  35. TYPE
  36.     TTypeTablePointer = ^TTypeTableElement;
  37.     TTypeTableElement = RECORD
  38.         TypeName: ARRAY [1..kNumberOfLanguages] OF Str63;
  39.         FieldsTypeConst : Str63;
  40.         byAddress : boolean;        {if the type must be passed by address explitly in C++}
  41.     END;                                            {most decent languages take care of this for you.}
  42.  
  43.     TTextHandler = OBJECT(TObject)
  44.     
  45.         {Data Structures}
  46.         
  47.         {Fields}
  48.         fDesignDocument: TDesignDocument;
  49.         fNumberOfElements: INTEGER;
  50.         fTypeTable: TDynamicArray;
  51.         fLanguage: Integer;
  52.         
  53.         {Methods}
  54.         FUNCTION TTextHandler.GetDesignDocument: TDesignDocument;
  55.         PROCEDURE TTextHandler.SetDesignDocument(theDesignDoc: TDesignDocument);
  56.         FUNCTION TTextHandler.GetLanguage:Integer;
  57.         PROCEDURE TTextHandler.SetLanguage(theLanguage:    Integer);
  58.         PROCEDURE TTextHandler.ITTextHandler(theDesignDoc: TDesignDocument);
  59.         PROCEDURE TTextHandler.Replace(VAR origString: str255; pattern, replacement: str255);
  60.         FUNCTION TTextHandler.GetAndEntabRsrcString(itsResourceID:Integer):Str255;
  61.         FUNCTION TTextHandler.GetTypeDefStr(theCard:TCard):Str255;
  62.         FUNCTION TTextHandler.GetHeadingStr:Str255;
  63.         FUNCTION TTextHandler.GetFieldsInterfaceStr:Str255;
  64.         FUNCTION TTextHandler.GetMethodsInterfaceStr:Str255;
  65.         FUNCTION TTextHandler.GetCollaboratorsInterfaceStr:Str255;
  66.         FUNCTION TTextHandler.GetEndOfTypeDefStr:Str255;
  67.         FUNCTION TTextHandler.GetStdMethStr(TheMethodItem:TMethodItem):Str255;
  68.         FUNCTION TTextHandler.GetOverrideMethStr(TheMethodItem:TMethodItem):Str255;
  69.         FUNCTION TTextHandler.GetStdImplMethStr(TheMethodItem:TMethodItem):Str255;
  70.         FUNCTION TTextHandler.GetOverrideImplMethStr(TheMethodItem:TMethodItem):Str255;
  71.         FUNCTION TTextHandler.GetGetAccessorStr(TheAccessorItem:TAccessorItem):Str255;
  72.         FUNCTION TTextHandler.GetSetAccessorStr(TheAccessorItem:TAccessorItem):Str255;
  73.         FUNCTION TTextHandler.GetImplGetAccessorStr(TheAccessorItem:TAccessorItem):Str255;
  74.         FUNCTION TTextHandler.GetImplSetAccessorStr(TheAccessorItem:TAccessorItem):Str255;
  75.         FUNCTION TTextHandler.GetImplementationStr:Str255;
  76.         FUNCTION TTextHandler.GetUnitEndStr:Str255;
  77.         FUNCTION TTextHandler.GetImplementationNoteStr(TheCard:TCard):Str255;
  78.         FUNCTION TTextHandler.GetImplIncFileStr:Str255;
  79.         FUNCTION TTextHandler.GetGetAccessorImplementation(TheGetAccessorItem:TGetAccessorItem):Str255;
  80.         FUNCTION TTextHandler.GetSetAccessorImplementation(TheSetAccessorItem:TSetAccessorItem):Str255;
  81.         FUNCTION TTextHandler.GetStdMethodImplementationStr(TheMethodItem:TMethodItem):Str255;
  82.         FUNCTION TTextHandler.GetFieldsMethodDecStr(TheFieldsMethodItem:TFieldsMethodItem):Str255;
  83.         FUNCTION TTextHandler.GetImplFieldsMethodDecStr(TheFieldsMethodItem:TFieldsMethodItem):Str255;
  84.         FUNCTION TTextHandler.GetFieldsMethodImpStr1:Str255;
  85.         FUNCTION TTextHandler.GetFieldsMethodImpStr2(TheFieldsMethodItem:TFieldsMethodItem):Str255;
  86.         FUNCTION TTextHandler.GetFieldsMethodImpStr3:Str255;
  87.         FUNCTION TTextHandler.GetFieldsMethodCodeLineStr(theFieldItem: TFieldItem):Str255;
  88.         FUNCTION TTextHandler.GetTheTypeName(index:ArrayIndex): Str63;
  89.         FUNCTION TTextHandler.ReturnFieldsTypeConst(theFieldItem: TFieldItem): str255;
  90.         FUNCTION TTextHandler.ReturnByAddress(theFieldItem: TFieldItem): BOOLEAN;
  91.         FUNCTION TTextHandler.GetIncludeStatement:Str255;
  92.         FUNCTION TTextHandler.GetFieldItemDeclaration(theFieldItem:TFieldItem):Str255;
  93.         FUNCTION TTextHandler.GetFieldItemImplDeclaration(theFieldItem:TFieldItem):Str255;
  94.         FUNCTION TTextHandler.GetCollaboratorDeclaration
  95.                     (theCollaboratorItem:TCollaboratorItem):Str255;
  96.         FUNCTION TTextHandler.GetImplCollaboratorDeclaration
  97.                     (theCollaboratorItem:TCollaboratorItem):Str255;
  98.         FUNCTION TTextHandler.GetInterfaceFileName(theName: str255):Str255;
  99.         FUNCTION TTextHandler.GetImplementationFileName(theName: str255):Str255;
  100.  
  101.         {typeTable methods}
  102.         PROCEDURE TTextHandler.ReadInTypeTable;
  103.         PROCEDURE TTextHandler.SetItemTypeMenu(thePopupMenu : TPopup);
  104.         PROCEDURE TTextHandler.SetSuperClassTypeMenu(thePopupMenu : TPopup);
  105.         PROCEDURE TTextHandler.SetCollaboratorsMenu(thePopupMenu : TPopup);
  106.         PROCEDURE TTextHandler.ChangeLanguageTo(TheNewLanguage:Integer);
  107.         FUNCTION TTextHandler.FindTypeTableEntry(TheLanguage : Integer; TheItem: TFieldItem):ArrayIndex;
  108.         PROCEDURE TTextHandler.TranslateTheItem(TheOldLanguage, TheNewLanguage: Integer;
  109.                                                                             TheItem: TFieldItem);
  110.         
  111.         PROCEDURE TTextHandler.CheckFileName(VAR theName: str255);
  112.         FUNCTION TTextHandler.GetInlineSetAccessorStr(TheSetAccessorItem:TSetAccessorItem):Str255;
  113.         FUNCTION TTextHandler.GetInlineGetAccessorStr(TheGetAccessorItem:TGetAccessorItem):Str255;
  114.         FUNCTION TTextHandler.GetFwdClassDeclStr(TheCard:TCard):Str255;
  115.         PROCEDURE TTextHandler.Free;    OVERRIDE;
  116.         PROCEDURE TTextHandler.Fields(PROCEDURE DoToField(
  117.                 fieldName: Str255; fieldAddr: Ptr; fieldType: INTEGER)); OVERRIDE;
  118.     END;
  119.  
  120.  
  121. IMPLEMENTATION
  122.  
  123. {$I UTextHandler.inc1.p}
  124.     
  125. END.
  126.